package mf.com.Service.sys;

import com.github.pagehelper.PageInfo;
import mf.com.dto.system.AssginRoleDto;
import mf.com.dto.system.LoginDto;
import mf.com.dto.system.SysUserDto;
import mf.com.entity.system.SysUser;
import mf.com.vo.common.Result;
import mf.com.vo.system.LoginVo;
import org.springframework.web.bind.annotation.RequestHeader;

/**
 * @Author: lmf
 * @Create: 2024/3/23 18:11
 * Description:
 */
public interface SysUserService {
    /**
     * 获取用户信息
     * @param token token
     * @return SysUser
     */
    SysUser getUserInfo(@RequestHeader(name = "token") String token);
    /**
     * 登录
     * @param loginDto 登录类
     */
    LoginVo userLogin(LoginDto loginDto);
    /**
     * 退出登录
     */
    void outLogin(String token);
    /**
     * 分页查询用户
     */
    PageInfo<SysUser> findByPage(SysUserDto sysUserDto, Integer current, Integer limit);

    /**
     * 为用户分配权限
     */
    void  doAssign(AssginRoleDto assginRoleDto);
    /**
     * 新增用户
     */
    Integer saveUser(SysUser sysUser);

    /**
     * 编辑用户
     */
    Integer updateUser(SysUser sysUser);

    /**
     * 删除用户
     */
    Integer deleteUser(int id);

    /**
     * 更加名称查询用户
     */
    SysUser findByName(String name);
}
